package AdministradorDeVotacion;

import maquinavotar.common.Candidate;
import maquinavotar.utils.RandomizingTool;

public class AdministradorDeDatos {
    
    private String rutaRepositorio;
    Candidate[] candidatos;
    
    public AdministradorDeDatos() {
        rutaRepositorio = "data_io/candidaos.xml";
        candidatos = getCandidatosDeRepositorio();
    }

    /*
     * Obtiene una lista inicial de candidatos del repositorio de datos.
     */
    private Candidate[] getCandidatosDeRepositorio() {
        /*
         * utilizar una instancia de DataInputStream o File... para levantar el XML
         */
        
        // La cantidad de candidatos se obtiene desde el archivo, deberia tener el archivo al comienzo
        // el número de candidatos en un TAG. Si se usa un ArrayList no es necesario calcular el tamaño.
        int cantPres = 4;
        Candidate[] candidatosAux = new Candidate[cantPres];
        // Crea y carga candidatos. Con que levantamos ? libreria para XML?? trae algo NetBeans?? o levantamos
        // a manopla linea opr linea??? (la instanciacion a mano no iria obvio !!!)
        candidatosAux[0] = new Candidate("1", "Montoto Flores Praga", "Presidente", "/imgs/cand1.png");
        candidatosAux[1] = new Candidate("2", "Don Ramón", "Gobernador", "/imgs/cand2.png");
        candidatosAux[2] = new Candidate("3", "Sergio Denis", "Presidente", "/imgs/cand3.png");
        candidatosAux[3] = new Candidate("4", "Menem agarrate el huevo izq", "Gobernador", "/imgs/cand4.png");

        // Aleatoriza
        candidatosAux = (Candidate[]) RandomizingTool.getVectorRandom(candidatosAux);

        return candidatosAux;
    }

    public Candidate[] getCandidatos() {
        return candidatos;
    }
}
